package com.example.teachingSystem.pojo.form.menu;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

@Data
@Schema(description = "添加菜单对象")
public class ChangeMenuForm {
    @Schema(description = "ID")
    @NotNull(message = "ID不能为空")
    private Long id;

    @Schema(description = "父菜单ID")
    @NotNull(message = "父菜单ID不能为空")
    private Long parentId;

    @Schema(description = "名称")
    @NotNull(message = "名称不能为空")
    private String name;

    @Schema(description="类型")
    @NotNull(message = "类型不能为空")
    private Integer type;

    @Schema(description="路由路径")
    @NotNull(message = "路由路径不能为空")
    private String path;

    @Schema(description="组件路径")
    @NotNull(message = "组件路径不能为空")
    private String component;

    @Schema(description="权限标识")
    @NotNull(message = "权限标识不能为空")
    private String perm;

    @Schema(description="展示标题")
    @NotNull(message = "展示标题不能为空")
    private String title;

    @Schema(description="显示状态")
    @NotNull(message = "显示状态不能为空（1显示，0隐藏）")
    private Boolean visible;

    @Schema(description="排序")
    @NotNull(message = "排序不能为空")
    private Integer sort;

    @Schema(description="图标")
    @NotNull(message = "图标不能为空")
    private String icon;

    @Schema(description="跳转路径（菜单目录需要）")
    @NotNull(message = "跳转路径不能为空")
    private String redirect;

    @Schema(description="缓存页面（1缓存、0不）")
    @NotNull(message = "缓存页面不能为空")
    private Boolean keepAlive;

    @Schema(description="默认菜单无布局（1是、0不）")
    @NotNull(message = "默认菜单不能为空")
    private Boolean defaultMenu;

    @Schema(description="自动关闭标签（1是、0不）")
    @NotNull(message = "自动关闭标签不能为空")
    private Boolean closeTab;

}
